Smartphones (and other types of portable, hand-held computing devices, such as tablet computers) are in widespread use today, most often in connection with entertainment, communications and office productivity. Most smartphones include a camera. Therefore, with appropriate software, such smartphones can be used to read barcodes. However, smartphones typically have poor barcode reading capability.